import axios from 'axios'
import { Toast } from 'vant'
import store from '../store'
// 调用 axios.create() 方法，创建 axios 的实例对象
const instance = axios.create({
  // 请求根路径
  baseURL: 'http://www.liulongbin.top:8000'
})

instance.interceptors.request.use(
  config => {
    Toast.loading({
      // 展示loading效果
      message: '加载中',
      duration: 0
    })
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

instance.interceptors.response.use(
  response => {
    // 隐藏loading效果
    Toast.clear()
    return response
  },
  error => {
    return Promise.reject(error)
  }
)

const tokenStr = store.state.tokenInfo.token
if (tokenStr) {
  // 只有 tokenStr 的值存在，才有必要挂载到请求头的 Authorization 属性中
  config.headers.Authorization = 'Bearer ' + tokenStr
}

export default instance
